package ink.lovejinhu.leetcode;

import org.junit.Test;

/**
 * @author jinhu
 * created 2021-04-29 6:52
 */
public class Solution_0027 {
    /**
     * 不需要考虑数组中超出新长度后面的元素。
     * 第一次忘记考虑特殊情况
     *
     * @param nums
     * @param val
     * @return
     */
    public int removeElement(int[] nums, int val) {
        if (nums == null || nums.length == 0) {
            return 0;
        }
        int head = 0;//

        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != val) {
                nums[head] = nums[i];
                head++;
            }
        }

        return head;
    }

    @Test
    public void test() {
        int[] nums = {0, 1, 2, 2, 3, 0, 4, 2};
        int target = 2;
        int i = this.removeElement(nums, target);
        System.out.println(i);
    }
}
